package com.sky.chain.data;
import com.sky.chain.model.UserEntity;
import com.sky.chain.model.GoodsEntity;
import java.util.ArrayList;
import java.util.List;

/**
 * 此类单列模式进行存储模拟数据，
 * 减少内存的开支
 */
public class GoodsData {

    public static List<GoodsEntity> goodsDataList;

    public static UserEntity userEntity;
    /**
     * 获取List<GoodsData>集合对象
     * @return
     */
    public static List<GoodsEntity> getInstance(){
        //等于0说明没有被实例话，此时进行实例化
        if (goodsDataList == null){
            return  structureGoods();
            //说明存在该实例，将其取出
        }else {
            return goodsDataList;
        }

    }

    /**
     * 获取管理员信息
     * @return
     */
    public static UserEntity getUserInstance(){
        //等于0说明没有被实例话，此时进行实例化
        if (userEntity == null){
            return  structureUser();
            //说明存在该实例，将其取出
        }else {
            return userEntity;
        }
    }

    /**
     * 造一批商品数据
     * @return
     */
    private static List<GoodsEntity> structureGoods(){
        goodsDataList = new ArrayList<>();
        goodsDataList.add(new GoodsEntity(10001, "退烧药", 50, 2.0));
        goodsDataList.add(new GoodsEntity(10001, "止痛药", 40, 3.0));
        goodsDataList.add(new GoodsEntity(10001, "止咳药", 50, 5.0));
        goodsDataList.add(new GoodsEntity(10001, "消炎药", 60, 2.5));

        return goodsDataList;
    }

    /**
     * 管理员默认信息
     * @return
     */
    private static UserEntity structureUser(){
        userEntity = new UserEntity(1, "admin", "123456", 30);
        return userEntity;
    }

}
